//package com.dg11185.nearshop.baidumap.mai;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import android.annotation.SuppressLint;
//import android.content.res.TypedArray;
//import android.graphics.drawable.BitmapDrawable;
//import android.graphics.drawable.Drawable;
//import android.os.Bundle;
//import android.os.Handler;
//import android.os.Message;
//import android.util.DisplayMetrics;
//import android.util.Log;
//import android.view.Gravity;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.View.OnClickListener;
//import android.widget.AdapterView;
//import android.widget.AdapterView.OnItemClickListener;
//import android.widget.ArrayAdapter;
//import android.widget.ImageView;
//import android.widget.LinearLayout;
//import android.widget.ListView;
//import android.widget.PopupWindow;
//import android.widget.RatingBar;
//import android.widget.TextView;
//import android.widget.Toast;
//import com.baidu.mapapi.map.ItemizedOverlay;
//import com.baidu.mapapi.map.MKMapStatus;
//import com.baidu.mapapi.map.MKMapStatusChangeListener;
//import com.baidu.mapapi.map.MapController;
//import com.baidu.mapapi.map.MapView;
//import com.baidu.mapapi.map.OverlayItem;
//import com.baidu.mapapi.map.PopupClickListener;
//import com.baidu.mapapi.map.PopupOverlay;
//import com.baidu.platform.comapi.basestruct.GeoPoint;
//import com.dg11185.nearshop.R;
//import com.dg11185.nearshop.app.Constants;
//import com.dg11185.nearshop.app.DataCache;
//import com.dg11185.nearshop.baidumap.BaseMapActivity;
//import com.dg11185.nearshop.baidumap.EntityShopData;
//
///**
// * 根据传入的ShopList在地图上上标记商家，点击弹出Overlay
// * @author：Daibo
// * @time：2014-4-28 下午4:12:19
// */
//public class BaiduMapActivity extends BaseMapActivity {
//
//    private MapController mMapController = null;
//
//    private MyOverlay mOverlay = null;
//
//    /**用于在地图上标记商家位置*/
//    private ArrayList<OverlayItem> mItems = null;
//
//    private OverlayItem mCurItem = null;
//
//    //模拟数据，从ShopActivity中传递过来，留后期改成接口数据读取数据：
//    private List<EntityShopData> shopOverlayDatas; 
//
//    private String[] shopCategorys = null;
//
//    private TypedArray shopCategoryIcons = null;
//
//    /**popupOverlay相关的变量,点击商家标记后被调用*/
//    private PopupOverlay popupOverlay = null;
//    
//    private View popView = null;
//
//    private ViewHolder viewHolder = null;
//    
//    //新加数据，mai
//    //模拟数据，从ShopActivity中传递过来，留后期改成接口数据读取数据：
//    private List<EntityShopData> ClassifyshopOverlay = null; //分类商家显示数据接收的list
//    private List<EntityShopData> tempEntityShopDatas = null;
//    private int flag = 1 ;  //初始保留已经刷选过的商家图标数据，用以放大缩小增加商家图标显示功能。
//    
////    //真实接口数据：
////    private List<Merchant> = null;
////    private List<Merchant> = null;
//    
//    private TextView classifyshopTextView ;
//
//    //下拉菜单选项
//    private PopupWindow popupWindow;
//	private LinearLayout layout;
//	private ListView listView;
//	
//	
//	
//	private float zoommain = 14;
//    
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.baidumap_nearshop);
//
//        mMapView = (MapView) findViewById(R.id.nearshop_mapview);
//        mMapController = mMapView.getController();
//        mOverlay = new MyOverlay(getResources().getDrawable(R.drawable.map_category_shop), mMapView);
//        mItems = new ArrayList<OverlayItem>();
//
//        mMapController.setZoom(14);
//        mMapView.setBuiltInZoomControls(true);
//        
//      //其中mMapView 是地图View           
//        mMapView.regMapStatusChangeListener(new MKMapStatusChangeListener() {            
//        @SuppressWarnings("unchecked")
//		@Override            
//        public void onMapStatusChange(MKMapStatus mkMapStatus) {                                
//              float zoom = mkMapStatus.zoom;                
//              
//              if(flag == 1){
//            	  tempEntityShopDatas = new ArrayList<EntityShopData>();
//                  tempEntityShopDatas = shopOverlayDatas ;
//                  Log.d("debug", "======dfsdfdfdsfdf========");
//                  flag = 0;
//              }
//             
//              
//              if(Math.abs(BaiduMapActivity.this.zoommain - zoom)>0.000001){
//            	  
//            	  BaiduMapActivity.this.zoommain = zoom ;             
//            	  
//                  Log.d("debug","shopOverlayDatas 的大小：" + shopOverlayDatas.size() + "zoom的大小是:" + zoom);
//                  
//                  ClassifyshopOverlay = (List<EntityShopData>) DataCache.getValue(Constants.dataNearShop);
//                 
//                  shopOverlayDatas =  new ArrayList<EntityShopData>();
//                  
//                  for (int i = 0; i < zoom - 6 && i < tempEntityShopDatas.size(); i++) {
//                	  EntityShopData  sd = new EntityShopData();
//						sd = tempEntityShopDatas.get(i);
//						shopOverlayDatas.add(sd);
//				  }
//                  
//                  handler.sendEmptyMessage(0x124);
//                  
//               }          
//              }      
//        });
//        
//        
//        
//        
//        DisplayMetrics dm = getResources().getDisplayMetrics();
//		final int screenWidth = dm.widthPixels;
//		final int screenHeight = dm.heightPixels - 50;
//        
//        classifyshopTextView = (TextView)findViewById(R.id.classifyshopTextView);
//        classifyshopTextView.setOnClickListener( new OnClickListener() {
//			
//			@Override
//			public void onClick(View v) {
//				// TODO Auto-generated method stub
//				classifyshopTextView.getTop();
//				showPopupWindow(0, -210);
//			}
//		});
//        initData(); 
//        initOverlay();
//        initPopView();
//    }
//    
//	
//	private String title[] = { "全部", "美食", "KTV", "电影", "美发", "商超", "其他", "全部" , "酒店旅游"  };
//
//	@SuppressLint("NewApi")
//	public void showPopupWindow(int x, int y) {
//		layout = (LinearLayout) LayoutInflater.from(BaiduMapActivity.this).inflate(
//				R.layout.dialog, null);
//		listView = (ListView) layout.findViewById(R.id.lv_dialog);
//		listView.setAdapter(new ArrayAdapter<String>(BaiduMapActivity.this,
//				R.layout.text, R.id.tv_text, title));
//		popupWindow = new PopupWindow(BaiduMapActivity.this);
//		popupWindow.setBackgroundDrawable(new BitmapDrawable());
//		popupWindow.setWidth(getWindowManager().getDefaultDisplay().getWidth() / 2 + 110);
//		popupWindow.setHeight(getWindowManager().getDefaultDisplay().getHeight() / 2 - 150);
////		popupWindow.setAnimationStyle(R.style.AnimationPreview);
//		popupWindow.setOutsideTouchable(true);
//		popupWindow.setFocusable(true);
//		popupWindow.setContentView(layout);
//		// showAsDropDown会把里面的view作为参照物，所以要那满屏幕parent
//		// popupWindow.showAsDropDown(findViewById(R.id.tv_title), x, 10);
//		popupWindow.showAtLocation(findViewById(R.id.baidumapmain),
//				Gravity.CENTER_HORIZONTAL, x, y);// 需要指定Gravity，默认情况是center.
//		/*
//		 * list点击后事件处理
//		 */
//		listView.setOnItemClickListener(new OnItemClickListener() {
//			@Override
//			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
//					long arg3) {
//				
//				String string  = title[arg2];
//				
//				classifyshopTextView.setText(string);
//				
//				new Thread(new MyThread(string)).start();
//				
//				popupWindow.dismiss();
//				popupWindow = null;
//			}
//		});
//	}
//    
//    class MyThread implements Runnable {
//
//    	String key;
//    	 
//    	public MyThread(String key) {
//    		this.key = key;
//		}
//    	
//		@SuppressWarnings("unchecked")
//		@Override
//		public void run() {
//			// TODO Auto-generated method stub
//			
//			flag = 1 ;
//			
//			
//			//模拟数据，从ShopActivity中传递过来，留后期改成接口数据读取数据：
//			ClassifyshopOverlay = (List<EntityShopData>) DataCache.getValue(Constants.dataNearShop);
//			
//			shopOverlayDatas = new ArrayList<EntityShopData>();
//			
//			if (key == "全部") {
//				shopOverlayDatas = ClassifyshopOverlay;
//			}
//			else{
//				for (int i = 0; i < ClassifyshopOverlay.size() ; i++) {
//					if (ClassifyshopOverlay.get(i).shopCategory.equals(key)) {
//						
//						EntityShopData  sd = new EntityShopData();
//						sd = ClassifyshopOverlay.get(i);
//						shopOverlayDatas.add(sd);
//						
//					}
//				}
//			}
//			
//			
//			handler.sendEmptyMessage(0x124);
//			
//		}
//    }
//    
//    @SuppressLint("HandlerLeak")
//	public Handler handler = new Handler(){
//    	public void handleMessage(Message msg){
//    	if (msg.what == 0x124){
//			mMapView.getOverlays().clear();
//    		mMapView.refresh();
//    		mOverlay.removeAll();
//    		initOverlay();
//    		
//    	  }
//    	}
//    	
//    };
//    
//    /**
//     * 初始化界面需要点的数据
//     */
//    @SuppressWarnings("unchecked")
//    public void initData() {
//    	
//    	//模拟数据，从ShopActivity中传递过来，留后期改成接口数据读取数据：
//        shopOverlayDatas = (List<EntityShopData>) DataCache.getValue(Constants.dataNearShop);
//        
//        shopCategorys = getResources().getStringArray(R.array.shop_category);
//        shopCategoryIcons = getResources().obtainTypedArray(R.array.shop_category_map_icon);
//        
//    }
//
//    /**
//     * 根据商家列表数据，在地图上标记商家位置
//     */
//    public void initOverlay() {
//    	
//    	
//    	mItems = new ArrayList<OverlayItem>();
//    	
//        for (EntityShopData o : shopOverlayDatas) {
//            GeoPoint g = new GeoPoint(0, 0);
//            OverlayItem item = new OverlayItem(g, o.shopTitle, "");
//            g.setLatitudeE6((int) (Double.parseDouble(o.shopLatitude) * 1E6));
//            g.setLongitudeE6((int) (Double.parseDouble(o.shopLongitude) * 1E6));
//            for (int a = 0; a < shopCategorys.length; a++) {
//                if (o.shopCategory.equals(shopCategorys[a])) {
//                    item.setMarker(shopCategoryIcons.getDrawable(a));
//                    break;
//                }
//            }
//            mItems.add(item);
//        }
//        mOverlay.addItem(mItems);
//        mMapView.getOverlays().clear();
//        mMapView.getOverlays().add(mOverlay);
//        mMapView.refresh();
//        mMapController.setZoom(BaiduMapActivity.this.zoommain);
//        
//    }
//
//    /**
//     * 初始化PopupOverlay，当商家突变被点击是显示 see {@link MyOverlay #onTap(int)} 弹出overlay
//     * see {@link BaiduMapActivity #popListener} 隐藏overlay
//     */
//    private void initPopView() {
//        popView = getLayoutInflater().inflate(R.layout.map_pop_window, null);
//        popupOverlay = new PopupOverlay(mMapView, popListener);
//
//        viewHolder = new ViewHolder();
//        viewHolder.titleTxt = (TextView) popView.findViewById(R.id.map_popwindow_title);
//        viewHolder.addressTxt = (TextView) popView.findViewById(R.id.map_popwindow_address);
//    }
//
//    @Override
//    protected void onPause() {
//        shopCategoryIcons.recycle();
//        super.onPause();
//    }
//
//    /**
//     * popupOverlay的监听事件，它可能被{@link BaiduMapActivity #popView}中的点击事件拦截
//     * 也可能被mMapview的点击事件或者onTouch()事件拦截
//     */
//    PopupClickListener popListener = new PopupClickListener() {
//
//        @Override
//        public void onClickedPopup(int index) {
//            if (popupOverlay != null) {
//                popupOverlay.hidePop();
//                Toast.makeText(getApplicationContext(), "第" + index + "个",
//                	     Toast.LENGTH_SHORT).show();
//            }
//        }
//    };
//
//    /**
//     * 商家列表overlay
//     */
//    public class MyOverlay extends ItemizedOverlay<OverlayItem> {
//
//        public MyOverlay(Drawable arg0, MapView arg1) {
//            super(arg0, arg1);
//        }
//
//        @Override
//        /**
//         * 地图上商家标记的点击事件（包含弹出框和改变按钮）
//         */
//        protected boolean onTap(int index) {
//
//            mCurItem = mItems.get(index);
//            /** 点击按钮后更换颜色 */
//            for (int a = 0; a < shopCategorys.length; a++) {
//                if (shopOverlayDatas.get(index).shopCategory.equals(shopCategorys[a])) {
//                    System.out.println(shopOverlayDatas.get(index).shopCategory);
//                    mCurItem.setMarker(shopCategoryIcons.getDrawable(a + shopCategorys.length));
//                    mOverlay.updateItem(mCurItem);
//                    break;
//                }
//            }
//            viewHolder.titleTxt.setText(shopOverlayDatas.get(index).shopTitle);
//            viewHolder.addressTxt.setText(shopOverlayDatas.get(index).shopAddress);
//            viewHolder.ratingBar.setRating(Float.parseFloat(shopOverlayDatas.get(index).shopRate));
//            popupOverlay.showPopup(popView, mCurItem.getPoint(), 50);
//            mMapView.refresh();
//            return true;
//        }
//
//        @Override
//        /**
//         * 处理一个点击事件。 一个点击只有落到一个item上去时才会被处理，
//         * 可以去覆盖onTap(int)，返回true
//         */
//        public boolean onTap(GeoPoint arg0, MapView arg1) {
//            if (popupOverlay != null) {
//                popupOverlay.hidePop();
//            }
//            return false;
//        }
//    }
//
//    private class ViewHolder {
//
//        public ImageView shopImg;
//
//        public TextView titleTxt;
//
//        public TextView addressTxt;
//
//        public RatingBar ratingBar;
//    }
//
//}
